package org.footballmanager.pandafootball.common.util;

import lombok.extern.slf4j.Slf4j;

/**
 * 
 * @author CHENJIAN
 *
 */
@Slf4j
public class CountryUtil {
	private static final String NOEXSIT = "Not Existed";
    /**
     * 国际域名缩写	国家或地区	Countries and Regions
     */
    private String[] shortList = {
            "AD", "AE", "AF", "AG",
            "AI", "AL", "AM", "AO",
            "AR", "AT", "AU", "AZ",
            "BB", "BD", "BE", "BF",
            "BG", "BH", "BI", "BJ",
            "BL", "BM", "BN", "BO",
            "BR", "BS", "BW", "BY",
            "BZ", "CA", "CF", "CG",
            "CH", "CK", "CL", "CM",
            "CN", "CO", "CR", "CS",
            "CU", "CY", "CZ", "DE",
            "DJ", "DK", "DO", "DZ",
            "EC", "EE", "EG", "ES",
            "ET", "FI", "FJ", "FR",
            "GA", "GB", "GD", "GE",
            "GF", "GH", "GI", "GM",
            "GN", "GR", "GT", "GU",
            "GY", "HK", "HN", "HT",
            "HU", "ID", "IE", "IL",
            "IN", "IQ", "IR", "IS",
            "IT", "JM", "JO", "JP",
            "KE", "KG", "KH", "KP",
            "KR", "KT", "KW", "KZ",
            "LA", "LB", "LC", "LI",
            "LK", "LR", "LS", "LT",
            "LU", "LV", "LY", "MA",
            "MC", "MD", "MG", "ML",
            "MM", "MN", "MO", "MS",
            "MT", "MU", "MV", "MW",
            "MX", "MY", "MZ", "NA",
            "NE", "NG", "NI", "NL",
            "NO", "NP", "NR", "NZ",
            "OM", "PA", "PE", "PF",
            "PG", "PH", "PK", "PL",
            "PR", "PT", "PY", "QA",
            "RO", "RU", "SA", "SB",
            "SC", "SD", "SE", "SG",
            "SI", "SK", "SL", "SM",
            "SN", "SO", "SR", "ST",
            "SV", "SY", "SZ", "TD",
            "TG", "TH", "TJ", "TM",
            "TN", "TO", "TR", "TT",
            "TW", "TZ", "UA", "UG",
            "US", "UY", "UZ", "VC",
            "VE", "VN", "YE", "YU",
            "ZA", "ZM", "ZR", "ZW"
    };

    private String[] chineseList = {
            "安道尔共和国", "阿拉伯联合酋长国", "阿富汗",
            "安提瓜和巴布达", "安圭拉岛", "阿尔巴尼亚",
            "亚美尼亚", "安哥拉", "阿根廷",
            "奥地利", "澳大利亚", "阿塞拜疆",
            "巴巴多斯", "孟加拉国", "比利时",
            "布基纳法索", "保加利亚", "巴林",
            "布隆迪", "贝宁", "巴勒斯坦",
            "百慕大群岛", "文莱", "玻利维亚",
            "巴西", "巴哈马", "博茨瓦纳",
            "白俄罗斯", "伯利兹", "加拿大	",
            "中非共和国", "刚果", "瑞士",
            "库克群岛", "智利", "喀麦隆",
            "中国", "哥伦比亚", "哥斯达黎加",
            "捷克", "古巴", "塞浦路斯",
            "捷克", "德国", "吉布提",
            "丹麦", "多米尼加共和国", "阿尔及利亚",
            "厄瓜多尔", "爱沙尼亚", "埃及",
            "西班牙", "埃塞俄比亚", "芬兰",
            "斐济", "法国", "加蓬",
            "英国", "格林纳达", "格鲁吉亚",
            "法属圭亚那", "加纳", "直布罗陀",
            "冈比亚", "几内亚", "希腊",
            "危地马拉", "关岛", "圭亚那",
            "香港特别行政区", "洪都拉斯", "海地",
            "匈牙利", "印度尼西亚", "爱尔兰",
            "以色列", "印度", "伊拉克",
            "伊朗", "冰岛", "意大利",
            "牙买加", "约旦", "日本",
            "肯尼亚", "吉尔吉斯坦", "柬埔寨",
            "朝鲜", "韩国", "科特迪瓦共和国",
            "科威特", "哈萨克斯坦", "老挝",
            "黎巴嫩", "圣卢西亚", "列支敦士登",
            "斯里兰卡", "利比里亚", "莱索托",
            "立陶宛", "卢森堡", "拉脱维亚",
            "利比亚", "摩洛哥", "摩纳哥",
            "摩尔多瓦", "马达加斯加", "马里",
            "缅甸", "蒙古", "澳门",
            "蒙特塞拉特岛", "马耳他", "毛里求斯",
            "马尔代夫", "马拉维", "墨西哥",
            "马来西亚", "莫桑比克", "纳米比亚",
            "尼日尔", "尼日利亚", "尼加拉瓜",
            "荷兰", "挪威", "尼泊尔",
            "瑙鲁", "新西兰", "阿曼",
            "巴拿马", "秘鲁", "法属玻利尼西亚",
            "巴布亚新几内亚", "菲律宾", "巴基斯坦",
            "波兰", "波多黎各", "葡萄牙",
            "巴拉圭", "卡塔尔", "罗马尼亚",
            "俄罗斯", "沙特阿拉伯", "所罗门群岛",
            "塞舌尔", "苏丹", "瑞典",
            "新加坡", "斯洛文尼亚", "斯洛伐克",
            "塞拉利昂", "圣马力诺", "塞内加尔",
            "索马里", "苏里南", "圣多美和普林西比",
            "萨尔瓦多", "叙利亚", "斯威士兰",
            "乍得", "多哥", "泰国",
            "塔吉克斯坦", "土库曼斯坦", "突尼斯",
            "汤加", "土耳其", "特立尼达和多巴哥",
            "台湾", "坦桑尼亚", "乌克兰",
            "乌干达", "美国", "乌拉圭",
            "乌兹别克斯坦", "圣文森特岛", "委内瑞拉",
            "越南", "也门", "南斯拉夫",
            "南非", "赞比亚", "扎伊尔", "津巴布韦"};

    private String[] countryList = {
            "Andorra", "United Arab Emirates", "Afghanistan",
            "Antigua and Barbuda", "Anguilla", "Albania",
            "Armenia", "Angola", "Argentina",
            "Austria", "Australia", "Azerbaijan",
            "Barbados", "Bangladesh", "Belgium",
            "Burkina-faso", "Bulgaria", "Bahrain",
            "Burundi", "Benin", "Palestine",
            "Bermuda Is.", "Brunei", "Bolivia",
            "Brazil", "Bahamas", "Botswana",
            "Belarus", "Belize", "Canada",
            "African Republic", "Congo", "Switzerland",
            "Cook Is.", "Chile", "Cameroon",
            "China", "Colombia", "Costa Rica",
            "Czech", "Cuba", "Cyprus",
            "Czech Republic", "Germany", "Djibouti",
            "Denmark", "Dominica Rep.", "Algeria",
            "Ecuador", "Estonia", "Egypt",
            "Spain", "Ethiopia", "Finland",
            "Fiji", "France", "Gabon",
            "United Kiongdom", "Grenada", "Georgia",
            "French Guiana", "Ghana", "Gibraltar",
            "Gambia", "Guinea", "Greece",
            "Guatemala", "Guam", "Guyana",
            "Hongkong", "Honduras", "Haiti",
            "Hungary", "Indonesia", "Ireland",
            "Israel", "India", "Iraq",
            "Iran", "Iceland", "Italy",
            "Jamaica", "Jordan", "Japan",
            "Kenya", "Kyrgyzstan", "Kampuchea (Cambodia )",
            "North Korea", "Korea", "Republic of Ivory Coast",
            "Kuwait", "Kazakstan", "Laos",
            "Lebanon", "St.Lucia", "Liechtenstein",
            "Sri Lanka", "Liberia", "Lesotho",
            "Lithuania", "Luxembourg", "Latvia",
            "Libya", "Morocco", "Monaco",
            "Moldova, Republic of", "Madagascar", "Mali",
            "Burma", "Mongolia", "Macao",
            "Montserrat Is", "Malta", "Mauritius",
            "Maldives", "Malawi", "Mexico",
            "Malaysia", "Mozambique", "Namibia",
            "Niger", "Nigeria", "Nicaragua",
            "Netherlands", "Norway", "Nepal",
            "Nauru", "New Zealand", "Oman",
            "Panama", "Peru", "French Polynesia",
            "Papua New Cuinea", "Philippines", "Pakistan",
            "Poland", "Puerto Rico", "Portugal",
            "Paraguay", "Qatar", "Romania",
            "Russia", "Saudi Arabia", "Solomon Is",
            "Seychelles", "Sudan", "Sweden",
            "Singapore", "Slovenia", "Slovakia",
            "Sierra Leone", "San Marino", "Senegal",
            "Somali", "Suriname", "Sao Tome and Principe",
            "EI Salvador", "Syria", "Swaziland",
            "Chad", "Togo", "Thailand",
            "Tajikstan", "Turkmenistan", "Tunisia",
            "Tonga", "Turkey", "Trinidad and Tobago",
            "Taiwan", "Tanzania", "Ukraine",
            "Uganda", "United States of America", "Uruguay",
            "Uzbekistan", "Saint Vincent", "Venezuela",
            "Vietnam", "Yemen", "Yugoslavia",
            "South Africa", "Zambia", "Zaire", "Zimbabwe"};
	private CountryUtil(){}

	public String getCountryByChinese(String chinese){
		int result = 0;
		for(int i = 0; i < chineseList.length; i++){
			if(chineseList[i].equals(chinese)){
				result = i;
			}
		}
		if(result == 0){
			log.info(NOEXSIT);
			return null;
		}else{
			return countryList[result];
		}
	}
	
	public String getCountryByShort(String shortString){
		int result = 0;
		for(int i = 0; i < shortList.length; i++){
			if(shortList[i].equals(shortString)){
				result = i;
			}
		}
		if(result == 0){
			log.info(NOEXSIT);
			return null;
		}else{
			return countryList[result];
		}
	}
	
	public String getShortByCountry(String country){
		int result = 0;
		for(int i = 0; i < countryList.length; i++){
			if(countryList[i].equals(country)){
				result = i;
			}
		}
		if(result == 0){
			log.info(NOEXSIT);
			return null;
		}else{
			return shortList[result];
		}
	}
	
	public String getShortByChinese(String chinese){
		int result = 0;
		for(int i = 0; i < chineseList.length; i++){
			if(chineseList[i].equals(chinese)){
				result = i;
			}
		}
		if(result == 0){
			log.info(NOEXSIT);
			return null;
		}else{
			return shortList[result];
		}
	}
	
	public String getChineseByShort(String shortString){
		int result = 0;
		for(int i = 0; i < shortList.length; i++){
			if(shortList[i].equals(shortString)){
				result = i;
			}
		}
		if(result == 0){
			log.info(NOEXSIT);
			return null;
		}else{
			return chineseList[result];
		}
	}
	
	public String getChineseByCountry(String country){
		int result = 0;
		for(int i = 0; i < countryList.length; i++){
			if(countryList[i].equals(country)){
				result = i;
			}
		}
		if(result == 0){
			log.info(NOEXSIT);
			return null;
		}else{
			return chineseList[result];
		}
	}
}
